package openbang.account.service.vo;

/**
 * GAE提供的应用服务器  是一个分布式的环境
 * 每次浏览器的请求，并不保证送到前一个应用服务器
 * 因此，原有单机模式下的 Session,都必须使用 Cache ---- GAE对 Session已经保证了集群
 * 
 * 该接口，明确给各个应用功能提供唯一性的 Key 值 或 前缀 值
 * 
 * 考虑缓存更新的速度
 * 
 * 1.每一个登录用户使用不同的key(前缀+sessionId)放入session
 * 2.为了能统计到所有在线会员 , 使用一个单独的 key 记录所有的 session key 
 * 3.聊天室的处理也一样 
 * 4.需要一个定时器，把经过一段时间没有使用的移出缓存。--- 过期问题呢？
 * 
 * @author aibo zeng
 *
 */

public interface CacheKeyDefine {
		
    //一个  在线SESSION的统计	Set<SessionId>
	public static String SESSION_ALL = "SESSION.ALL"; //key , value={(s1),(s2)}
	//前缀  每一个在线会员使用  SESSION_PREFIX + SessionId
	public static String SESSION_PREFIX = "SESSION.ID"; //-- GAE 本身提供了 _as_SESSION 来存放所有的 session里面所有对象
	//public static String SESSION_USERINFO = "USERINFO"; //放入session的key
	
    //一个  在线聊天室的统计	Set<GROUP_ID>
	public static String CHATGROUP_ALL = "OPENBANG.CHATGROUP.ALL";
	//前缀  每一个在线聊天室使用 CHATGROUP_PREFIX + MMddHHmmssSSS
	public static String CHATGROUP_PREFIX = "OPENBANG.CHATGROUP.ID";
	
	//前缀  每一个调查问题  CHATGROUP_PREFIX + code
	public static String DIAOCHA_PREFIX = "OPENBANG.DIAOCHA.ID";
	
}
